import axios from 'axios'
import URL from './baseUrl'
import { Toast } from 'vant'
import { Dialog } from 'vant'
import Cookies from 'js-cookie'
const service = axios.create({
  baseURL: `${URL}`,
  timeout: 10000, // 请求超时时间
  // withCredentials: true // 允许携带cookie
})
// 添加请求拦截器，在参数中加token
service.interceptors.request.use(
  config => {
    //浏览器参数
    // if (Cookies.get('store')) {
    //   let token = 'Bearer ' + JSON.parse(Cookies.get('store')).token;
     
    // }
    //  
    // 将token添加到每一个接口的参数中
    // 判断请求的类型：如果是post请求就把默认参数拼到data里面；如果是get请求就拼到params里面

    // if (token) {
    //   config.headers.Authorization=token;
    //   if (config.method === 'post') {
    //     config.data = {
    //       token,
    //       ...config.data
    //     }
    //   } else if (config.method === 'get') {
    //     config.params = {
    //       token,
    //       ...config.params
    //     }
    //   }
    // } else{

    // }
    if (config.method === 'post') {
      config.data = {
        ...config.data
      }
    } else if (config.method === 'get') {
      config.params = {
        ...config.params
      }
    }
    return config
  },
  error => {
    return Promise.reject(error)
  })

// 添加请求拦截器
service.interceptors.response.use(
  response => {
    const res = response.data
    if (res.code != 200) {
      Toast(res.msg)
    }
    return response
  },
  async error => {
    Toast.clear()
    Dialog({
      message: '网络开小差啦~',
      closeOnClickOverlay: true
    })
    return Promise.reject(error)
  })

export default service
